/*
 *      Author: Honrun
 */
#include "CSU8RP3216.h"
#include "stdint.h"
#include "DevicesTime.h"
#include "DevicesTimer.h"

void vTime4Init(void)
{
    /* 使能定时器 4 */
    T4EN = 0;

    /* CPU_CLOCK */
    T4SEL_1 = 0;
    T4SEL_0 = 0;

    /* CPUCLK 或 MCK 的分频时钟 */
    T4CKS = 0;

    /* PRE（系统时钟为16MHz，CPU指令周期为4个CLK，再进行4分频） */
    T4RATE_2 = 0;
    T4RATE_1 = 1;
    T4RATE_0 = 0;

    /* 不作蜂鸣器输出 */
    PWM4OUT = 0;
    T4OUT = 0;

    /* 溢出值 */
    TM4INH |= 0x0F;
    TM4IN   = 0xFF;

    // /* 计数值 */
    // TM4CNTH = 0;
    // TM4CNT = 0;

    /* 使能定时器中断 */
    TM4IE = 1;
    TM4IF = 0;

    T4RSTB = 0;

    /* 使能定时器 4 */
    T4EN = 1;
}

void vTimer4Interrupt(void)
{
    g_lTimerHigh += 4096;
}
